增加批量新增入库或出库单据接口

This commit is contained in:
季圣华 2023-12-10 14:42:20 +08:00
parent bb1b20444d
commit 92e92f5a64
2 changed files with 59 additions and 0 deletions

View File

@ -632,4 +632,21 @@ public class DepotHeadController {
objectMap.put("total", total);
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
}
/**
* 批量新增入库或出库单据
* @param jsonObject
* @param request
* @return
* @throws Exception
*/
@PostMapping(value = "/batchAddDepotHeadAndDetail")
@ApiOperation(value = "批量新增入库或出库单据")
public Object batchAddDepotHeadAndDetail(@RequestBody JSONObject jsonObject,
HttpServletRequest request) throws Exception{
JSONObject result = ExceptionConstants.standardSuccess();
String ids = jsonObject.getString("ids");
depotHeadService.batchAddDepotHeadAndDetail(ids, request);
return result;
}
}

View File

@ -20,6 +20,7 @@ import com.jsh.erp.service.log.LogService;
import com.jsh.erp.service.orgaUserRel.OrgaUserRelService;
import com.jsh.erp.service.person.PersonService;
import com.jsh.erp.service.role.RoleService;
import com.jsh.erp.service.sequence.SequenceService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.service.supplier.SupplierService;
import com.jsh.erp.service.systemConfig.SystemConfigService;
@ -83,6 +84,8 @@ public class DepotHeadService {
@Resource
private AccountItemService accountItemService;
@Resource
private SequenceService sequenceService;
@Resource
DepotItemMapperEx depotItemMapperEx;
@Resource
private LogService logService;
@ -1508,4 +1511,43 @@ public class DepotHeadService {
}
return result;
}
public void batchAddDepotHeadAndDetail(String ids, HttpServletRequest request) throws Exception {
List<DepotHead> dhList = getDepotHeadListByIds(ids);
for(DepotHead depotHead : dhList) {
String prefixNo = BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType())?"QTRK":"QTCK";
//关联单据单号
depotHead.setLinkNumber(depotHead.getNumber());
//给单号重新赋值
depotHead.setNumber(prefixNo + sequenceService.buildOnlyNumber());
depotHead.setDefaultNumber(prefixNo + sequenceService.buildOnlyNumber());
depotHead.setOperTime(new Date());
depotHead.setSubType(BusinessConstants.SUB_TYPE_OTHER);
depotHead.setChangeAmount(BigDecimal.ZERO);
depotHead.setTotalPrice(BigDecimal.ZERO);
depotHead.setDiscountLastMoney(BigDecimal.ZERO);
depotHead.setOrganId(null);
depotHead.setAccountId(null);
depotHead.setTenantId(null);
//查询明细
List<DepotItemVo4WithInfoEx> itemList = depotItemService.getDetailList(depotHead.getId());
depotHead.setId(null);
String beanJson = JSONObject.toJSONString(depotHead);
JSONArray rowArr = new JSONArray();
for(DepotItemVo4WithInfoEx item: itemList) {
//TODO 增加序列号和批次的提示不能进行录入
item.setUnitPrice(BigDecimal.ZERO);
item.setAllPrice(BigDecimal.ZERO);
item.setLinkId(item.getId());
item.setTenantId(null);
String itemStr = JSONObject.toJSONString(item);
JSONObject itemObj = JSONObject.parseObject(itemStr);
itemObj.put("unit", itemObj.getString("materialUnit"));
rowArr.add(itemObj.toJSONString());
}
String rows = rowArr.toJSONString();
//新增其它入库单或其它出库单
this.addDepotHeadAndDetail(beanJson, rows, request);
}
}
}