王佳豪
2021-06-19 b8c1da262aa8576932427b0a5b461da759730be3
src/main/java/com/zy/asrs/controller/LocNormalController.java
@@ -12,8 +12,12 @@
import com.core.common.R;
import com.sun.org.apache.bcel.internal.generic.NEW;
import com.zy.asrs.entity.LocNormal;
import com.zy.asrs.entity.LocNormalReport;
import com.zy.asrs.entity.param.LocNormalParam;
import com.zy.asrs.service.LocNormalReportService;
import com.zy.asrs.service.LocNormalService;
import com.zy.common.service.erp.ErpService;
import com.zy.common.service.erp.ErpSqlServer;
import com.zy.common.utils.excel.locNomal.LocNormalExcel;
import com.zy.common.utils.excel.locNomal.LocNormalExcelListener;
import com.zy.common.utils.excel.matcode.MatCodeExcel;
@@ -28,6 +32,9 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -39,6 +46,10 @@
public class LocNormalController extends BaseController {
    @Autowired
    private LocNormalService locNormalService;
    @Autowired
    private LocNormalReportService locNormalReportService;
    @Autowired
    private ErpSqlServer erpSqlServer;
    @RequestMapping(value = "/locNomal/list/auth")
    @ManagerAuth
@@ -56,7 +67,7 @@
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        }
        if (Cools.isEmpty(param.get("state"))) {
            wrapper.eq("state", "1").or().eq("state", "2");
            wrapper.in("state", "1,2");
        }
        return R.ok(locNormalService.selectPage(new Page<>(curr, limit), wrapper));
    }
@@ -103,6 +114,18 @@
    public void updateLocNormal(LocNormal param) {
        Long modiUser = getUserId();
        Date modiTime = new Date();
        // 调整库存,修改,StockCheckRecord插入盘盈、盘亏数据
        LocNormal locNormalOld = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("matnr", param.getMatnr()).and().eq("warehouse", param.getWarehouse()).and().eq("supplier", param.getSupplier()));
        BigDecimal erpCount = new BigDecimal(0);
        if (param.getAnfme() == new BigDecimal(0)) {
            erpCount = new BigDecimal(0).subtract(new BigDecimal(String.valueOf(locNormalOld.getAnfme())));
        } else {
            erpCount = param.getAnfme().subtract(new BigDecimal(String.valueOf(locNormalOld.getAnfme())));
        }
        // 调整库存,新增,StockCheckRecord插入盘盈数据
        String ErpSql = "insert into StockCheckRecord(Fnumber, CheckQty, Fflag_rw, Fflag_finish) values (''{0}'', {1,number,#}, 0, 0)";
        ErpSql = MessageFormat.format(ErpSql, param.getMatnr(), erpCount);
        erpSqlServer.update(ErpSql);
        locNormalService.updateLocNormal(param.getMatnr(), param.getAnfme(), modiUser, modiTime, param.getId());
    }
@@ -132,7 +155,7 @@
        return R.ok("成功导入" + listener.getTotal() + "条物料信息");
    }
    /* 平仓入库 */
    /* 平仓入库 成品 */
    @RequestMapping(value = "/locNormal/in")
    @ManagerAuth(memo = "平仓入库")
    @Transactional
@@ -144,6 +167,21 @@
            param.getNormalList().get(i).setAppeTime(timeNow);
        }
        locNormalService.locNormalIn(param.getNormalList());
        return R.ok();
    }
    /* 平仓入库-原材料 */
    @RequestMapping(value = "/locNormal/in/source")
    @ManagerAuth(memo = "平仓入库-原材料")
    @Transactional
    public R locNormalInSource(@RequestBody LocNormalParam param) {
        Long userId = getUserId();
        Date timeNow = new Date();
        for (Integer i = 0; i < param.getNormalList().size(); i++) {
            param.getNormalList().get(i).setAppeUser(userId);
            param.getNormalList().get(i).setAppeTime(timeNow);
        }
        locNormalService.locNormalInSource(param.getNormalList());
        return R.ok();
    }
@@ -166,9 +204,9 @@
    @RequestMapping(value = "/locNormal/pda/out/query")
    @ManagerAuth(memo = "pda出库查询")
    @Transactional
    public R locNormalPdaOutQuery(String matnr, String warehouse) {
    public R locNormalPdaOutQuery(String matnr, String warehouse, String billNo) {
        List<LocNormal> list = new ArrayList<>();
        list  = locNormalService.pdaLocNormalQuery(matnr, warehouse);
        list  = locNormalService.pdaLocNormalQuery(matnr, warehouse, billNo);
        return R.ok(list);
    }
@@ -186,4 +224,66 @@
        locNormalService.pdaLocNormalOut(list);
        return R.ok();
    }
    @RequestMapping(value = "/locNormal/pda/warehouseQuery")
    @ManagerAuth(memo = "pda根据库区查询物料清单")
    @Transactional
    public R locNormalPdaWarehouseQuery(String warehouse, String matnr) {
        List<LocNormal> list = locNormalService.pdaLocNormalWarehouseQuery(warehouse, matnr);
        return R.ok(list);
    }
    @RequestMapping(value = "/locNormal/pda/move")
    @ManagerAuth(memo = "pda移库")
    @Transactional
    public R LocNormalPdaMove(@RequestBody LocNormalParam param) {
        Long userId = getUserId();
        Date timeNow = new Date();
        List<LocNormal> list = param.getNormalList();
        for (Integer i = 0; i < list.size(); i++) {
            list.get(i).setModiUser(userId);
            list.get(i).setModiTime(timeNow);
        }
        locNormalService.pdaLocNormalMove(list);
        return R.ok();
    }
    @RequestMapping(value = "/locNomal/getInListByDay")
    @ManagerAuth(memo = "平仓日出入库查询")
    public R getInListByDay(@RequestParam(defaultValue = "1") Integer curr,
                  @RequestParam(defaultValue = "10") Integer limit,
                  @RequestParam(required = false) String orderByField,
                  @RequestParam(required = false) String orderByType,
                  @RequestParam(required = false) String condition,
                  @RequestParam Map<String, Object> param) {
        excludeTrash(param);
        EntityWrapper<LocNormalReport> wrapper = new EntityWrapper<>();
        List<String> orderList = new ArrayList<>();
        orderList.add("time");
        wrapper.eq("state", param.get("state").toString()).orderDesc(orderList);
        String timeRange = "";
        String time1 = "";
        String time2 = "";
        if (!Cools.isEmpty(param.get("query_date"))) {
            timeRange = param.get("query_date").toString();
            time1 = timeRange.substring(0, 19);
            time2 = timeRange.substring(21, timeRange.length());
        }
        param.remove("query_date");
        convert(param, wrapper);
        if (time1 != "" && time2 != "") {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date dateTime1 = new Date();
            Date dateTime2 = new Date();
            try {
                dateTime1 = formatter.parse(time1);
                dateTime2 = formatter.parse(time2);
            } catch (Exception e) {
                e.printStackTrace();
            }
            wrapper.ge("time", dateTime1).and().le("time", dateTime2);
        }
        allLike(LocNormalReport.class, param.keySet(), wrapper, condition);
        return R.ok(locNormalReportService.selectPage(new Page<>(curr, limit), wrapper));
    }
}