From a51ed995ac6e9a8ba63b53aca929aeed15edf8a8 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 20 八月 2024 09:05:23 +0800
Subject: [PATCH] order manage

---
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java   |  129 +++++++++++++++++++++++++
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/QueryVo.java   |   17 +++
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderCtrl.java |  116 +++++++++++++++++++++++
 3 files changed, 262 insertions(+), 0 deletions(-)

diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderCtrl.java
new file mode 100644
index 0000000..aebb135
--- /dev/null
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderCtrl.java
@@ -0,0 +1,116 @@
+package com.dy.pmsProduct.order;
+
+import com.dy.common.aop.SsoPowerAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pmsGlobal.aop.Log;
+import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan;
+import com.dy.pmsGlobal.pojoPr.PrOrder;
+import com.dy.pmsProduct.taskPlan.QueryVo;
+import jakarta.validation.Valid;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 璁㈠崟绠$悊
+ */
+@Slf4j
+@RestController
+@RequestMapping(path="order")
+public class OrderCtrl {
+    private OrderSv sv;
+    @Autowired
+    public void setAssemblySv(OrderSv orderSv) {
+        this.sv = orderSv;
+    }
+    @PostMapping(path="save")
+    @SsoPowerAop(power = "10200001")
+    @Log("淇濆瓨璁㈠崟淇℃伅")
+    public BaseResponse<Boolean> save(@RequestBody @Valid PrOrder order){
+        order.id = null;
+        order.setDeleted(false);
+        int count = sv.save(order);
+        if (count <= 0) {
+            return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+        } else {
+            return BaseResponseUtils.buildSuccess(true);
+        }
+    }
+
+    /**
+     * 鏇存柊
+     * @param order
+     * @return
+     */
+    @PostMapping(path="update")
+    @SsoPowerAop(power = "10200001")
+    @Log("淇敼璁㈠崟淇℃伅")
+    public BaseResponse<Boolean> update(@RequestBody @Valid PrOrder order){
+        int count = sv.update(order);
+        if (count <= 0) {
+            return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+        } else {
+            return BaseResponseUtils.buildSuccess(true);
+        }
+    }
+
+    /**
+     * 鍒犻櫎璁㈠崟淇℃伅
+     * @param id
+     * @return
+     */
+    @GetMapping(path="delete")
+    @SsoPowerAop(power = "10300001")
+    @Log("鍒犻櫎璁㈠崟淇℃伅")
+    public BaseResponse<Boolean> delete(String id){
+        int count = sv.delete(Long.parseLong(id));
+        if (count <= 0) {
+            return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+        } else {
+            return BaseResponseUtils.buildSuccess(true);
+        }
+    }
+
+    /**
+     * 鏍规嵁ID鏌ヨ
+     * @return
+     */
+    @GetMapping(path="one")
+    @SsoPowerAop(power = "10200000")
+    @Log("鏍规嵁ID鏌ヨ璁㈠崟淇℃伅")
+    public BaseResponse<PrOrder> one(String id){
+        PrOrder plan=sv.selectById(id);
+        return BaseResponseUtils.buildSuccess(plan);
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param vo
+     * @return
+     */
+    @PostMapping(path="some")
+    @SsoPowerAop(power = "10200000")
+    @Log("鍒嗛〉鏌ヨ璁㈠崟淇℃伅")
+    public BaseResponse<QueryResultVo<List<PrOrder>>> some(@RequestBody QueryVo vo){
+        QueryResultVo<List<PrOrder>> list = sv.selectSome(vo) ;
+        return BaseResponseUtils.buildSuccess(list);
+    }
+
+    @PostMapping(path="updateStatus")
+    @SsoPowerAop(power = "10200001")
+    @Log("鏇存柊浠诲姟璁″垝鐘舵��")
+    public BaseResponse<Boolean> updateStatus(@RequestBody PrAssemblyPlan plan){
+        int count = sv.updateStatus(plan);
+        if (count <= 0) {
+            return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+        } else {
+            return BaseResponseUtils.buildSuccess(true);
+        }
+    }
+
+
+}
\ No newline at end of file
diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java
new file mode 100644
index 0000000..24b0909
--- /dev/null
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java
@@ -0,0 +1,129 @@
+package com.dy.pmsProduct.order;
+
+import cn.hutool.core.codec.Base64;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pmsGlobal.daoOth.OthFileMapper;
+import com.dy.pmsGlobal.daoPr.*;
+import com.dy.pmsGlobal.dyFile.FileOperate;
+import com.dy.pmsGlobal.pojoPlt.PltProduct;
+import com.dy.pmsGlobal.pojoPr.*;
+import com.dy.pmsGlobal.util.QrCodeUtil;
+import com.dy.pmsGlobal.util.UserUtil;
+import com.dy.pmsProduct.process.QueryVo;
+import com.google.zxing.WriterException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Service
+public class OrderSv {
+    private PrOrderMapper orderDao;
+    private PrOrderItemMapper orderItemDao;
+    private UserUtil userUtil;
+    private FileOperate fileOperate;
+    private OthFileMapper othFileMapper;
+    @Value("${dy.webFile.fmUrl}")
+    private String fmUrl;
+    @Autowired
+    public void setOrderDao(PrOrderMapper orderDao) {
+        this.orderDao = orderDao;
+    }
+
+    @Autowired
+    public void setOrderItemDao(PrOrderItemMapper orderItemDao) {
+        this.orderItemDao = orderItemDao;
+    }
+
+    @Autowired
+    public void setUserUtil(UserUtil userUtil) {
+        this.userUtil = userUtil;
+    }
+
+    @Autowired
+    public void setFileOperate(FileOperate fileOperate) {
+        this.fileOperate = fileOperate;
+    }
+
+    @Autowired
+    public void setOthFileMapper(OthFileMapper othFileMapper) {
+        this.othFileMapper = othFileMapper;
+    }
+
+    @Transactional
+    public int save(PrOrder p) {
+        //鍒ゆ柇浜у搧涓嶈兘閲嶅悕
+        if (orderDao.exists(p.name, p.id)) {
+            throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅");
+        }
+        int count = orderDao.insertSelective(p);
+        saveOrderItems(p);
+        return count;
+    }
+    @Transactional
+    public int update(PrOrder p) {
+        if (orderDao.exists(p.name, p.id)) {
+            throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅");
+        }
+        int count = orderDao.updateByPrimaryKeySelective(p);
+        saveOrderItems(p);
+        return count;
+    }
+    private void saveOrderItems(PrOrder p) {
+        p.items.forEach(param->{
+            param.orderId=p.id;
+            if(param.id !=null){
+                orderItemDao.updateByPrimaryKeySelective(param);
+            }else{
+                param.deleted=false;
+                orderItemDao.insert(param);
+            }
+        });
+    }
+
+    /**
+     * 閫昏緫鍒犻櫎瀹炰綋
+     * @param id 瀹炰綋ID
+     * @return 褰卞搷璁板綍鏁伴噺
+     */
+    @Transactional
+    public int delete(Long id) {
+        return orderDao.deleteLogicById(id);
+    }
+
+    public PrOrder selectById(String proId) {
+        PrOrder pro=orderDao.selectByPrimaryKey(Long.valueOf(proId));
+        return pro;
+    }
+
+    /**
+     * 鑾峰彇璁㈠崟鍒楄〃
+     */
+    public QueryResultVo<List<PrOrder>> selectSome(QueryVo queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        //鏌ヨ绗﹀悎鏉′欢鐨勮褰曟�绘暟
+        Long itemTotal = orderDao.selectSomeCount(params);
+
+        QueryResultVo<List<PrOrder>> rsVo = new QueryResultVo<>(queryVo.pageSize, queryVo.pageCurr);
+        //璁$畻鍒嗛〉绛変俊鎭�
+        rsVo.calculateAndSet(itemTotal, params);
+
+        //鏌ヨ绗﹀悎鏉′欢鐨勮褰�
+        rsVo.obj = orderDao.selectSome(params);
+        return rsVo;
+    }
+
+    public List<PrOrder> selectAll(QueryVo queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+        return orderDao.selectAll(params);
+    }
+}
\ No newline at end of file
diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/QueryVo.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/QueryVo.java
new file mode 100644
index 0000000..4a775dc
--- /dev/null
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/QueryVo.java
@@ -0,0 +1,17 @@
+package com.dy.pmsProduct.order;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.*;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class QueryVo extends QueryConditionVo {
+    public String name;
+    public String director;
+    public String dMobile;
+    public String type;
+}

--
Gitblit v1.8.0